package com.yqg.protection.controller.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yqg.protection.cover.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * projectName:xf-service1
 * author:zxf
 * time:2024/10/15 16:21
 * description:
 */
@Data
public class ImportWarnRecordDto {

    @ExcelProperty(value = "设备ID(必填)",index = 0)
    @ApiModelProperty("设施连接设备")
    private Long equipmentInputStoreId;

    @ExcelProperty(value = "部件编号(必填)",index = 1)
    private String partModel;

    @ExcelProperty(value = "报警类型编号(必填)",index = 2)
    private Integer warnTypeNum;

    @ExcelProperty(value = "报警状态编号(必填)",index = 3)
    private String warnStateNum;

    @ExcelProperty(value = "是否误报(真实/误报)(必填)",index = 4, converter = IsMisinformationConverter.class)
    private String isMisinformation;

    @ExcelProperty(value = "是否处理(必填)",index = 5, converter = IsDealConverter.class)
    private Integer isDeal;

    @ExcelProperty(value = "创建时间",index = 6, converter = LocalDateTimeConverter.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @ExcelProperty(value = "报警时间(必填)",index = 7)
    private String warnTime;

    @ExcelProperty(value = "报警地点",index = 8)
    private String warnAddr;

    @ExcelProperty(value = "报警说明",index = 9)
    private String warnExpl;

    @ExcelProperty(value = "处理时间",index = 10, converter = LocalDateTimeConverter.class)
    private LocalDateTime processingTime;

    @ExcelProperty(value = "消息通知(未通知/已通知)(必填)",index = 11, converter = TeleNotificationConverter.class)
    @ApiModelProperty("消息通知：0 未通知，1 已通知")
    private String teleNotification;

    @ExcelProperty(value = "故障上报(未上报/已上报)(必填)",index = 12, converter = FaultReportConverter.class)
    @ApiModelProperty("故障上报：0 未上报，1 已上报")
    private String faultReport;

    @ExcelProperty(value = "故障上报备注",index = 13)
    @ApiModelProperty("故障上报备注")
    private String faultReportExpl;

    @ExcelProperty(value = "故障上报图片",index = 14)
    @ApiModelProperty("故障上报图片")
    private String faultReportUrl;

    @ExcelProperty(value = "实地勘查(未勘查/已勘查)(必填)",index = 15, converter = FieldSurveyConverter.class)
    @ApiModelProperty("实地勘查：0 未勘查，1 已勘查")
    private String fieldSurvey;

    @ExcelProperty(value = "实地勘查备注",index = 16)
    @ApiModelProperty("实地勘查备注")
    private String fieldSurveyExpl;

    @ExcelProperty(value = "实地勘查图片",index = 17)
    @ApiModelProperty("实地勘查图片")
    private String fieldSurveyUrl;

    @ExcelProperty(value = "排除隐患(未排除/已排除)(必填)",index = 18, converter = EliminHidDangConverter.class)
    @ApiModelProperty("排除隐患：0 未排除，1 已排除")
    private String eliminHidDang;

    @ExcelProperty(value = "排除隐患备注",index = 19)
    @ApiModelProperty("排除隐患备注")
    private String eliminHidDangExpl;

    @ExcelProperty(value = "排除隐患图片",index = 20)
    @ApiModelProperty("排除隐患图片")
    private String eliminHidDangUrl;
}
